home *** CD-ROM | disk | FTP | other *** search
-
- Windows 3.1 and QEMM Advanced Troubleshooting
-
- Quarterdeck Technical Note #207 Filename: WINFLOW.TEC
- by Andy Buck CompuServe: WINFLO.ZIP
- Last revised: 11/01/95 Category: QEMM
-
- Subject: A step-by-step troubleshooting guide for solving
- conflicts between Microsoft Windows 3.1 and QEMM.
-
- This Quarterdeck technical note has been written to help you
- troubleshoot and fix almost all Windows 3.1 and 3.11 problems
- which relate to the use of QEMM. If you have an older version
- of QEMM or Windows, you should upgrade to the current versions
- before engaging in extensive troubleshooting.
-
- TIPS AND QUICK FIXES FOR POTENTIAL WINDOWS CONFLICTS
- ----------------------------------------------------
-
- Conflict: Opening multiple applications causes Windows to give
- a General Protection Fault in GDI.EXE or RSRCMGR.DLL.
-
- Solution: Try running the QEMM Setup program (QSETUP) from
- Windows, click on the "Windows" tab, and disable
- Resource Manager. Click "Save", then click "Restart."
- It is not necessary to re-run Optimize when altering
- this feature. If you are unable to run QSETUP,
- try removing the reference to RSRCMGR.DLL on the
- drivers= line of the [boot] section in your Windows
- SYSTEM.INI file.
-
- Conflict: Opening multiple applications causes Windows to give
- a General Protection Fault in FREEMEG.DLL, or large
- graphical documents stop displaying on the screen.
-
- Solution: Try changing the resolution of your video driver to a
- lower resolution (i.e., changing from 65k to 256).
- If making this change does not resolve the conflict,
- switch to the Windows standard VGA driver and restart
- Windows. If this does not resolve the problem, run
- the QSetup program from Windows, click on the
- "Windows" tab, and disable FreeMeg. Click "Save",
- then click "Restart." It should not be necessary to
- re-run Optimize when altering this feature.
-
- Conflict: A CD-ROM drive will not function properly inside of
- MS Windows.
-
- Solution: Try editing the AUTOEXEC.BAT file and add "/E" (no
- quotes) to the end of the line that contains the
- MSCDEX.EXE driver. This will move the CD-ROM buffers
- into expanded memory and will reduce the size of the
- MSCDEX drive, possibly allowing it to be loaded
- properly and function in MS Windows.
-
-
- Conflict: MS Windows video is distorted or unreadable.
-
- Solution: Using MS Windows SETUP, configure MS Windows to use
- the standard VGA driver. If this allows MS Windows
- to display graphics correctly, then QEMM may be
- recovering parts of the video area that the video
- driver needs to access. Adding the following
- parameters to the end of the QEMM386.SYS device line
- in the CONFIG.SYS file will configure QEMM not to
- touch the video area on most systems:
-
- XST=C000 X=A000-C7FF
-
- These parameters may reduce the available upper
- memory by 64k, so if conventional memory is low, the
- troubleshooting flowchart (below) should be followed.
-
- Conflict: MS Windows fails to load, and displays an error
- message that begins as follows:
-
- "Windows cannot set up an upper memory block at segment
- B000."
-
- Solution: This conflict occurs because the video driver that MS
- Windows is using needs to use the monochrome text
- area. Edit the CONFIG.SYS file and add the following
- parameter to the end of the QEMM386.SYS device line:
-
- X=B000-B7FF
-
- Alternately, you can install MONOUMB2.386 on your
- system. MONOUMB2.386 is a driver provided with
- Windows that allows memory managers like QEMM to use
- the monochrome text area for High RAM, even if the
- video driver is attempting to access that range. For
- instructions regarding the installation of
- MONOUMB2.386, please refer to the README.WRI file
- included with your Windows installation.
-
- Conflict: After using MS Windows for a while, the system either
- locks or a "General Protection Fault" error occurs.
-
- Solution: MS Windows may be running low on System Resources. Here
- are some tips to maximize the amount of free resources:
-
- * Do not load fonts that are seldom used.
- * Use a small tiled bitmap for the wallpaper instead of a
- large wallpaper bitmap.
- * Minimize groups not frequently used, or those with many
- icons in them.
- * Because resources cannot be returned once they are used,
- do not open and close resource-hungry programs.
- * If you are not loading QEMM 8's Resource Manager, do
- so by running QEMM Setup. Resource Manager is
- designed to alleviate resource shortages.
- * Keep an eye on your system resource with the QEMM
- memory reporting utility, or the Manifest program,
- both in your Windows QEMM program group.
-
-
- Conflict: MS Windows fails to start properly.
-
- Solution: Start MS Windows with the "/B" (no quotes) parameter.
- MS Windows will write any errors encountered while
- attempting to start to a file in the Windows
- directory called BOOTLOG.TXT. This is a list of what
- the error codes reported in BOOTLOG.TXT mean:
-
- 0 Out of memory
- 2 File not found
- 3 Path not found
- 5 Attempt to dynamically link to a task
- 6 Library requires separate data segments for each task
- 8 Insufficient memory to start application
- 10 Incorrect MS Windows version
- 11 Invalid .EXE file
- 12 OS/2 application
- 13 MS-DOS 4.0 application
- 14 Unknown .EXE type
- 15 Attempt in protected mode to load an .EXE file
- created for an earlier version of MS Windows
- 16 Attempt to load a second instance of an .EXE file
- containing multiple writeable data segments
- 17 Attempt in a large-frame EMS mode to load a second
- instance of an application that links to certain
- nonshareable DLLs already in use 18 Attempt in real
- mode to load an application marked for protected
- mode only
-
- The BOOTLOG.TXT file lists the files and drivers that MS
- Windows loads when starting, and the success or failure of a
- driver or file to load is recorded in this file and may yield
- informative results as to the nature of the conflict.
-
- *****************************
- * TROUBLESHOOTING FLOWCHART *
- *****************************
-
- INSTRUCTIONS: In each of the following steps you will either
- edit a file or run a program from the DOS prompt. Look for the
- ??? in each step, as these will guide you through the
- appropriate troubleshooting procedures. This technical note
- consists of four TESTs, which will identify what is causing the
- conflict, followed by four STEPs, which will help you resolve
- the conflict.
-
- This troubleshooting procedure will isolate and resolve the
- conflict most effectively if you are able to reproduce the
- conflict at will (you know of a specific action or series of
- actions that will cause the conflict to occur). The reason for
- this is that this procedure follows a logical set of tests to
- determine when a conflict is occuring and when it is not. A
- conflict that randomly occurs is difficult to troubleshoot
- because you do not know for sure when a configuration is being
- used that resolves the conflict.
-
- TEST 1
-
- CONFIGURE WINDOWS TO AVOID CONFLICTS WITH QEMM
- ----------------------------------------------
-
- *NOEMMDRIVER*
-
- Edit the SYSTEM.INI file and locate the section titled [386enh].
- Look in this section for a line that looks as follows:
-
- NoEmmDriver=True
-
- ??? If this line exists in the [386enh] section, erase the line.
- QEMM is an expanded memory driver and this line conflicts
- with MS Windows when using any expanded memory driver. Try
- to reproduce the conflict.
-
- ??? If the conflict goes away, congratulations! You have
- resolved the conflict and are finished with this technical
- note.
-
- ??? If the conflict still exists then continue with the next step,
- *MS WINDOWS TROUBLESHOOTING PARAMETERS*.
-
- ??? If there is no line in the SYSTEM.INI that reads
- "NoEmmDriver=True," continue with the next step, *MS WINDOWS
- TROUBLESHOOTING PARAMETERS*.
-
- *MS WINDOWS TROUBLESHOOTING PARAMETERS*
-
- To determine whether a MS Windows setup problem is causing a
- conflict, start MS Windows with the following parameters:
-
- WIN /D:FSVX
-
- ??? If MS Windows functions properly with the above switches,
- then adding the appropriate settings to the SYSTEM.INI file
- will resolve the conflict. Go to STEP A.
-
- ??? If the conflict still occurs then the MS Windows
- configuration is not causing the conflict. You should
- continue with the next step, *WIN.INI*.
-
- *WIN.INI*
-
- It it possible that a driver in the WIN.INI file is causing the
- conflict. To determine if this is the case, rename the WIN.INI
- file to WIN.OLD.
-
- Start MS Windows and attempt to reproduce the conflict.
-
- ??? If the conflict goes away then go to STEP A.
-
- ??? If the conflict still exists then go to TEST 2.
-
-
- TEST 2
-
- CREATE A CLEAN ENVIRONMENT FOR QEMM
- -----------------------------------
-
- In order to ensure that the MS Windows conflict is not being
- caused by another program in memory, temporarily disable all
- lines in the CONFIG.SYS and AUTOEXEC.BAT files that are not a
- part of QEMM and are not needed to start MS Windows. To do
- this, place the word REM in front of the line and attempt to
- reproduce the conflict. Please note that if your hard drive is
- compressed or requires a driver to be loaded then those drivers
- should not be REMarked out.
-
- Some conflicts require other drivers or TSRs to be loaded in
- order to attempt to reproduce the conflict; these drivers should
- NOT be REMarked out. For example, if the conflict is related to
- a CD-ROM, the drivers for the CD-ROM must be loaded. These
- drivers should NOT be REMarked out.
-
- Once the REMark statements have been added to both the
- CONFIG.SYS and AUTOEXEC.BAT files, reboot the system and attempt
- to reproduce the conflict.
-
- ??? If the conflict goes away, go to STEP B.
-
- ??? If the conflict still exists, go to TEST 3.
-
- TEST 3
-
- SIMPLYFYING QEMM
- ----------------
-
- Because QEMM is extremely thorough when recovering and using
- upper memory, it is possible that one of QEMM's advanced features
- is adding to the conflict with MS Windows. Please follow steps a)
- through e) to disable these features.
-
- a) To ensure that there is no conflict in upper memory, you should
- eliminate all High RAM and test the system. Run QEMM Setup
- in Windows and choose the option "Fill upper memory with RAM"
- (In DOS, select "Review or change QEMM parameters", and then
- the "Fill upper memory with RAM" option. You should select
- "NO" to ensure that QEMM will not create High RAM.
-
- b) To disable Stealth, select "Stealth system and video ROMs" from
- the QEMM Features tab in QEMM Setup ("Review or change QEMM
- parameters" in the DOS version of QSETUP). You will be
- presented with the following options:
-
- Stealth Off
- Stealth Mapping
- Stealth Frame
-
- ??? If the "Stealth Off" option is highlighted then Stealth is
- not currently enabled and is not adding to the conflict. Make
- a note that you were not using Stealth and proceed to step c)
- below.
-
- ??? If either "Stealth Mapping" or "Stealth Frame" are
- highlighted then you should make a note of the Stealth mode
- that you were using and highlight the "Stealth Off" option to
- temporarily disable Stealth.
-
- c) The QEMM Setup program can also place QEMM in a
- troubleshooting mode, adding many troubleshooting parameters
- to the QEMM386.SYS device line.
-
- To add the troubleshooting parameters select Troubleshooting
- Parameters (In DOS, the "Review or change QEMM parameters"
- QSETUP menu, hit <Page Down> twice and select "Set up QEMM for
- troubleshooting".) This will add all of the general
- troubleshooting parameters to the QEMM386.SYS line.
-
- d) QEMM's DOS-Up feature can load more of DOS into upper memory
- than DOS itself, freeing more conventional memory. It is
- possible that a program is expecting most of DOS to be in
- conventional memory, and disabling DOS-Up will eliminate that
- conflict. In Windows, select "Do not use DOS-Up" from the
- DOS-Up property page. In DOS, from the QSETUP Main Menu,
- select "Enable or disable DOS-Up," followed by "No."
-
- e) To disable QEMM's Stealth D*Space feature from the QSETUP main
- menu, select "Enable or disable Stealth D*Space" and make note
- of whether you are using Stealth D*Space (if "Yes" is
- highlighted) or not (if "No" is highlighted). Set this option
- to "No."
-
- f) To disable QEMM's MagnaRAM, FreeMeg, and Resource Manager, edit
- the SYSTEM.INI file, and search the [Boot] section for the line:
-
- drivers=freemeg.dll rsrcmgr.dll
-
- and remove "freemeg.dll" and "rsrcmgr.dll" from the line. Then
- search the [386Enh] section for the line:
-
- device=C:\QEMM\MAGNA31.VXD
-
- and place a semi-colon in front of the word "device". Save the file
- with the corrections.
-
- After the changes in steps a) through f) have been made, save the
- configuration and allow the Optimize program to run.
-
- Once Optimize has completed, try to reproduce the conflict.
-
- ??? If the conflict goes away then reconfiguring QEMM will
- resolve it. Go to STEP D below.
-
- ??? If the conflict still exists, go to TEST 4.
-
- TEST 4
-
- USE DOS'S MEMORY MANAGERS INSTEAD OF QEMM
- -----------------------------------------
-
- If all of the above tests fail to resolve the conflict, there may
- be an incompatibility with DOS that is not related to QEMM. You
- need to ensure that the system is functioning properly with ANY
- memory manager.
-
- The QEMM386.SYS driver should be REMarked out of the CONFIG.SYS to
- disable QEMM.
-
- Next, add DOS's memory managers, HIMEM.SYS and EMM386.EXE, at the
- beginning of the CONFIG.SYS as follows:
-
- EXAMPLE:
-
- DEVICE=C:\DOS\HIMEM.SYS
- DEVICE=C:=DOS\EMM386.EXE RAM 1024
- REM DEVICE=C:\QEMM\QEMM386.SYS <troubleshooting parameters>
-
- NOTE: The RAM and 1024 parameters should be added to the
- EMM386.SYS device line.
-
- Save the configuration, reboot the system, and test to see if the
- conflict still exists.
-
- ??? If the conflict goes away, go to STEP D.
-
- ??? If the conflict still exists then it is unrelated to QEMM.
- Since the conflict exists without QEMM loading,
- troubleshooting QEMM further will not affect the conflict. We
- recommend that you contact the manufacturer of the
- application that is failing, or contact Microsoft if MS
- Windows itself is not operating correctly. You are finished
- with this technical note.
-
- /<*>\/<*>\/<*>\/<*>\/<*>\/<*>\/<*>\/<*>\/<*>\/<*>\/<*>\/<*>\/<*>\
-
-
- STEP A
-
- CONFIGURING MS WINDOWS
- ----------------------
-
- ??? If the /D:FSVX switch resolved the conflict:
-
- Each of the letters in the parameter "FSVX" represent a
- different SYSTEM.INI setting:
-
- SWITCH SYSTEM.INI SETTING
- ------ ------------------
- /D:F 32BitDiskAccess=FALSE
- /D:S SystemROMBreakPoint=FALSE
- /D:V VirtualHDIRQ=FALSE
- /D:X EMMExclude=A000-FFFF
-
- Test MS Windows with only one of the above switches at a time
- to determine the setting that needs to be added to the
- [386enh] section of the SYSTEM.INI file. Once you have
- determined the switch that resolves the conflict, add the
- corresponding SYSTEM.INI setting the the [386Enh] section of
- the SYSTEM.INI file. You are finished with this technical
- note.
-
- ??? If renaming WIN.INI to WIN.OLD resolved the conflict:
-
- You have isolated the conflict to something loading in the
- WIN.INI file. To determine exactly which program is causing
- the conflict, rename the WIN.OLD file back to WIN.INI, edit
- the WIN.INI file, and locate the lines that begin with
- "LOAD=" (in the [Windows] section). Disable the "LOAD=" lines
- one at a time (by placing a ; at the beginning of the line)
- and try to reproduce the conflict. When the conflict goes
- away, the last line that was disabled contains the driver
- that is causing the conflict. You are finished with this
- technical note.
-
- STEP B
-
- RESTORING FROM A CLEAN BOOT
- ---------------------------
-
- One of the drivers or TSRs that you have placed a REM statement in
- front of is causing the conflict. In order to identify which
- driver or TSR is causing the conflict you should remove the REMark
- statements from the beginning of each line in the CONFIG.SYS and
- AUTOEXEC.BAT files one at a time. By rebooting and trying to
- reproduce the conflict after each change you can identify the
- program that is conflicting with MS Windows.
-
- When the conflict reoccurs, the program loading on the last line
- that you removed the REMark statement from is causing the
- conflict. Contacting the manufacturer of the program is the
- easiest way to resolve the conflict; however, Quarterdeck
- Technical Support has found that the following suggestions resolve
- many other programs' incompatibilities:
-
- o Configure the program NOT to use expanded memory. Some
- programs misuse expanded memory, and by configuring them to use
- extended or conventional memory the conflict with MS Windows
- may be avoided. Consult the program's documentation for
- configuration options.
-
- o Try loading the program low. Some programs are written with
- the assumption that they will be loaded in conventional memory
- and fail to function properly when loaded into upper memory. If
- the program is able to load itself into uppper memory, disable
- this feature to ensure that it is not adding to the conflict.
-
- o Contact the manufacturer of the program to acquire the latest
- version of the program. Newer versions may contain
- compatibility fixes for known conflicts.
-
- You are finished with this technical note.
-
-
- STEP C
-
- REBUILDING QEMM
- ---------------
-
- *HIGH RAM*
-
- The first step in rebuilding the system is to allow QEMM to create
- High RAM. To do this, run QSETUP, select "Review or change QEMM
- parameters" followed by "Fill upper memory with RAM." Save this
- configuration, reboot the system, and try to reproduce the
- conflict.
-
- ??? If the conflict does NOT occur then there is no upper memory
- conflict. Go to the next section, *STEALTH*.
-
- ??? If the conflict reappears then the conflict is related to
- upper memory. The technical note EXCLUDE.TEC in the
- \QEMM\TECHNOTE directory will help you isolate the area in
- upper memory that is causing the conflict and help you
- correct the problem. You are finished with this technical
- note.
-
- *STEALTH*
-
- In this step you will determine if QEMM's STEALTH feature is
- causing the conflict.
-
- ??? If you noted in TEST 3 that Stealth was NOT being used then
- there is no need to test Stealth. Proceed to the next
- section, *DOS-UP*.
-
- ??? If you noted in TEST 3 that the Stealth feature was being
- used then the next step in rebuilding QEMM is to enable
- Stealth and see if the conflict occurs. Run QSETUP, select
- "Review or change QEMM parameters" followed by "Stealth
- system and video ROMs." Select the appropriate Stealth mode
- based upon the mode that you noted in TEST 3. Save this
- configuration, reboot the system, and try to reproduce the
- conflict.
-
- ??? If the conflict does not occur, go to the next step, *DOS-Up*.
-
- ??? If the conflict recurs then the conflict is related to
- Stealth. The Stealth troubleshooting technical note
- STEALTH.TEC is available in the \QEMM\TECHNOTE directory, and
- should be followed in order to fine tune Stealth to avoid the
- MS Windows conflict. You have identified the conflict and
- are finished with this technical note.
-
- *DOS-UP*
-
- To determine whether the DOS-Up feature is adding to the conflict,
- you should enable this feature again.
-
- From the QSETUP Main Menu, select "Enable or disable DOS-Up"
- followed by "Yes." This will fully enable the DOS-Up feature. Save
- the configuration, allow Optimize to run, and try to reproduce the
- conflict.
-
- ??? If the conflict does not occur then the DOS-Up feature is not
- adding to the conflict. You may proceed to next step,
- *Stealth D*pace*.
-
- ??? If the conflict recurs then DOS-Up is adding to the conflict.
- By partially enabling the DOS-Up feature you can still
- receive the benefits of DOS-Up while avoiding the conflict
- with MS Windows.
-
- From the QSETUP main menu, press the "U" key to "Enable or
- disable DOS-Up," then the "P" key for a "Partial" DOS-Up
- configuration. This brings you to the DOS-Up Options screen
- which allows you to turn on or off the loading high of the 4
- parts of DOS.
-
- 1 = DOS Resources No
- 2 = COMMAND.COM No
- 3 = DOS Data No
- H = DOS=HIGH No
-
- Test the system by enabling only one of these options at a
- time, rebooting, and trying to reproduce the conflict after
- each change to isolate which part of DOS-UP is causing the
- conflict. Once the option that is causing the conflict is
- isolated, setting the option to "No" in QSETUP will ensure
- that this part of DOS-Up will not be enabled by QEMM's
- Optimize program in the future. You are finished with this
- technical note.
-
- *STEALTH D*SPACE*
-
- This test will determine if the Stealth D*Space driver is adding
- to the MS Windows conflict.
-
- ??? If you noted in TEST 3 above that you were using the Stealth
- D*Space feature then run QSETUP, select "Enable or
- disable Stealth D*Space," and set this option to "Yes." Save
- the configuration, reboot the machine, and try to reproduce
- the conflict.
-
- ??? If the conflict recurs then the Stealth D*Space feature is
- adding to the conflict. A common cause of conflicts with the
- Stealth Doublespace driver is programs that misuse expanded
- memory. Try configuring other device drivers and TSRs on the
- system to NOT use expanded memory. You may need to consult
- the documentation for the programs that you are loading to
- learn how to do this.
-
- ??? If you noted in TEST 3 that you were NOT using Stealth
- D*Space OR if setting the Stealth D*Space option to "Yes" did
- not cause a conflict, the QEMM troubleshooting parameters
- resolved the conflict. The following is a list of the
- troubleshooting parameters that QSETUP added:
-
- DB:2 RH:N SH:N TM:N XBDA:N TR:N CF:N FILL:N MR:N BE:N
-
- You may remove one of these parameters at a time, save the
- file, reboot the system, and attempt to reproduce the
- conflict. When the conflict occurs then you know that the
- LAST parameter that you removed was necessary to avoid the
- conflict and you should keep that parameter and remove the
- rest. You are finished with this technical note.
-
-
- STEP D
-
- CONTACTING TECHNICAL SUPPORT
- ----------------------------
-
- The conflict that MS Windows is experiencing requires further
- troubleshooting techniques and investigation, and contacting our
- technical support department is the quickest and easiest way to
- resolve the conflict. Please mention that you have followed this
- technical note and were instructed by STEP D to contact
- Quarterdeck for additional troubleshooting steps.
-
- Our technical support department is easily reached via electronic
- channels such as CompuServe (GO QUARTERDECK), Internet (mail
- support@qdeck.com or the comp.os.msdos.desqview Usenet newsgroup),
- the Quarterdeck BBS (310-309-3227), or fax (310-309-3217). When
- contacting Quarterdeck, be sure to fully explain the symptoms of
- the conflict, the results of the tests performed while following
- this technical note, and include the following information:
-
- CONFIG.SYS (in the root directory, usually C:\)
- AUTOEXEC.BAT (in the root directory, usually C:\)
- SYSTEM.INI (in the MS Windows directory, usually C:\WINDOWS\)
- WIN.INI (in the MS Windows directory, usually C:\WINDOWS\)
-
- You can also call our Technical Support line at 310-309-4250 for
- further assistance. When you call, please be at the machine that
- is experiencing the conflict.
-
- ******************************************************************
- * Trademarks are property of their respective owners. *
- * This and other technical notes may be available in updated *
- * forms through Quarterdeck's standard support channels. *
- * Copyright (C) 1995 Quarterdeck Corporation *
- ******************** E N D O F F I L E ***********************
-
-